home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-08-04 | 28.5 KB | 585 lines | [TEXT/EDIT] |
- ////////////// //////////////// //////////////
- //// //// ////
- _________ /////////________ /////////_______ /////////________________
- //// //// ////
- ////////////////// //// ////
-
- //////////////////////////////////////////////////////////////////////
- EFFector Online 4.05 1/7/1993 editors@eff.org
- A Publication of the Electronic Frontier Foundation ISSN 1062-9424
-
- -==--==--==-<>-==--==--==-
- [Editor's Note: With this issue, EFFector Online will begin to
- examine the technical, social, moral, legal and political issues
- surrounding the uses of encryption in computer-based communications.
- While many in various online communities around the world are highly
- conversant with cryptography and encryption, many others are not.
- Because of this we begin our series with Larry Loen's superb primer on
- basic cryptography. This article originally appeared as a proto-FAQ
- in the Usenet group, sci.crypt. Our readers with an interest in
- learning about encryption on an ad-hoc basis are advised to read
- sci-crypt and to participate in it. As with any other place on
- the Net, "Ask. People know.How the world works is not a secret." -GV]
- -==--==--==-<>-==--==--==-
-
- HIDING DATA IN PLAIN SIGHT
- Some Key Questions About Cryptography
- BY LARRY LOEN (lwloen@rchland.vnet.ibm.com)
-
- NOTE: The information and opinions expressed in this article
- are those of the author and his collaborators and do not
- represent the final word on these matters or the opinions,
- views or policies of any company or organization.
-
-
- Q1: What is cryptography? How, basically, does it work?
- What are the basic terms used to describe cryptography?
-
- Cryptography is the art and science of hiding data in plain sight.
- It is also the art and science of stealing data hidden in plain sight.
- There are at least three players. The first is the one who has
- the original data, which is presumed to have high value to
- others. This data is presumed to reside in a safe place that
- no one but the originator and his/her friends can see. (If the
- originator cannot physically secure the original data,
- cryptography is a waste of time). Now, for cryptography to be
- necessary, the data must, for some reason, have to be
- transmitted over some public means such as a telephone line, a
- letter through the mail; any means that cannot be physically
- secured by the owner to a legitimate receiver of the data. The
- receiver is the second party.
-
- Cryptography is any transformation of the data into a form
- that cannot (it is hoped) be recovered in a timely manner by an
- unknown party, which is called here 'the opponent'.
- The transformation is not some physical means, such as hiding the
- data on microfilm or some such; it is some mathematical
- transformation that scrambles the original data in a way
- that the receiver on the other end knows how to unscramble.
-
- The process of scrambling (transforming) the data is called
- 'encryption'. Unscrambling is called decryption. An
- encryption system has two basic parts. 1) A general
- transformation process called the encryption algorithm. 2) A
- customization of that algorithm called a cipher key. The
- sender and the receiver must find a secure means to exchange
- the cipher key. That is, the same public means used to send
- the encrypted data cannot be used. This may be a difficult
- problem, and has a variety of solutions, but will be assumed
- solved for now. Once the key is successfully exchanged, the
- two parties can separately implement the encryption algorithm
- and its inverse, the decryption algorithm.
-
- At this point, the data can be transmitted in its encrypted form
- using the agreed-to key to customize the general algorithm to a
- particular version that transforms the data. Since the
- encrypted data is sent over some insecure medium, it is assumed
- that an opponent (the third party) may intercept the data,
- possibly without being detected, and analyze the encrypted
- text, also called cipher text.
-
- In theory, any encryption system can be defeated, given enough
- time. The amount of time it takes cannot always be predicted.
- This is because the opponent can supply extra information
- that might reduce the computation time a great deal. For one
- thing, the sender and receiver may make a very poor choice of
- cipher key. If the opponent has a list of poor keys, a
- computer may permit a large list of such keys to be tried;
- if the poor key actually used is on the list, the opponent wins
- even if the encryption system is otherwise secure.
-
- All methods the opponent dreams up have one thing in common.
- It is an attempt to recover the original data without advance
- knowledge of the particular cipher key. There are a wide
- variety of means available and some will be described later on.
- The name for any of these methods is called 'cryptanalysis' and
- the person who does the penetration is called the cryptanalyst.
-
- In diagram form (the boxes indicated physically secure areas)--
-
- -------------| --------------
- Sender | | Receiver
- "x" | | cipher key
- cipher key |-------> y ----->|
- y=Encrypt( | | | x=Decrypt(y,key)
- x,key) | | |
- -------------| | |-------------
- V
- Opponent
- z = Cryptanalysis(y,Encrypt Algorithm,
- general knowledge of x, guesses about
- secret key, statistical analysis of y)
-
- The opponent uses Cryptanalysis of message y until
- the value z is either equal to x or z is "enough" like
- x to accomplish the illicit purpose. The sender and
- receiver win whenever recovery of z takes too much time.
-
- Q2: I have invented this wonderful, fast-running encryption
- algorithm. How do I find out if it is as great as I think it
- is?
-
- It is one thousand times easier to invent an encryption
- algorithm than it is to discover if it is worthwhile. Most
- designers who have not learned cryptography are used to dealing
- with mathematics that discusses the general case. But,
- successful cryptanalysis often relies on any number of
- fortuitous special cases that the designer must anticipate lest
- a given key and data stream create even one of them. Many
- practical illicit decryptions astonish the newcomer; they seem
- like cheating, but they do work.
-
- It is easy to get superficial reassurance that a poor
- encryption algorithm seems good. Most people reading this file
- have probably attempted the kinds of cryptograms one finds in
- newspapers and puzzle books (usually called 'cryptograms').
- That encryption algorithm is simple -- one replaces each letter
- of the alphabet with exactly one other letter of the alphabet.
- In less than an hour, sixth graders have been taught to
- successfully solve this kind of cipher. Yet, it has 26
- factorial possible keys (about 2 to the 88th power), which is
- much more than the 2 to the 56th keys of the well known
- commercial algorithm, DES. A large number of keys is
- important, but is not by itself secure. Obviously, the
- successful sixth graders do not attempt all possible keys.
- They use their general knowledge of English to shortcut the
- process and eliminate all but a few possible keys.
-
- Since the gross mathematical properties of an encryption
- system prove nothing, only cryptanalytic attacks matter
- and these require some study.
-
- Q3: What is an "attack"?
-
- An attack is a particular form of cryptanalysis. There are
- generic types of attacks, and some very specific attacks. In
- the end, cryptography is a war of specifics. The opponent
- will either invent a very clever and unique attack or will
- customize a general attack to suit the needs at hand. Some
- attacks might even exploit the properties of a particular
- message or settle for a partial illicit decryption.
-
- However, in sci.crypt, there is a great deal of discussion
- about attacks, both general and specific, and an assumption
- that the reader can fill in missing details at times. Since
- those who post here usually have other things to do, to-the-bit
- details are often omitted.
-
- Q4: Hmm. In spite of questions 2 and 3, I still think I
- have a pretty good system. But, it seems pretty hard
- to know if it can really defeat an expert. Still, I know
- it will work if I can keep my method secret, right?
-
- Good luck. There are documented cases aplenty where an
- encryption system was deduced based entirely on clever analysis
- of the encrypted text alone. There are also known cases
- where encryption systems were deduced because the encrypted
- text was later published verbatim somewhere (for instance, a
- press release) and so the system was figured out, eliminating
- the presumed secrecy advantage for the next cipher text.
-
- Q5: What are the principal cryptanalytic attacks?
-
- The first is "cipher text only". This is recovering the text
- or the key by analysis of the text (using statistical means,
- for instance) and by knowing broad details such as whether it
- is the text of someone's speech, a PC-DOS EXE file, whether text
- is in English or French. For non-puzzle examples, such broad
- information is almost always reliably known. People have some
- idea of what they wish to steal. The weakest systems fall to
- this form of attack.
-
- The next attack is "known plaintext". If one works with a
- newspaper cryptogram, one may have little idea of what is in
- the text. However, if one was illicitly trying to decrypt the
- source code of Megabarfoocorp's C++ compiler, one would be much
- better off. There would be lots of things one could
- confidently expect, such as long strings of the space
- character, strings like "if (" and "if(" and the like.
-
- There would even be whole phrases like "Copyright 1990,
- Megabarfoocorp International" or some such. With imagination,
- surprisingly long strings can be predicted. Computers can
- tirelessly try a number of trivial variations of such known
- text at a great many locations. Knowledge of the encryption
- system may reveal the correct placement outright or a small
- number of places to try. A wide variety of systems can be
- broken if enough known plaintext can be successfully placed.
-
- The next attack is "chosen plaintext". In some situations, it
- is possible for the opponent to pose as the legitimate user
- of the encryption system. This is especially true in "public
- key" systems (described later). In this case, the opponent
- can present fairly arbitrary unencrypted data of his/her
- choosing, cause it to be encrypted, and study the results.
- Very few systems ever invented pass this test, but it should be
- seriously considered for any significant use. Why? No
- designer can dream up all attacks. Moreover, at some point, a
- form of known plaintext attack may well enough approximate a
- chosen plaintext attack to make it worthwhile for the designer
- to allow for it to begin with, especially as it might not be
- dreamed up by the designer!
-
- There are other attack strategies. One worth mentioning for
- telecommunications applications is the "replay" attack.
- Suppose one has an Automatic Teller Machine (ATM) which uses a
- substitution cipher. Since one assumes the telephone line to
- the ATM can be tapped (why encrypt if it cannot?), one can also
- assume the opponent can _inject_ false ciphertext. Thus,
- without even being aware of the actual system, an opponent may
- be able to simply replay old ciphertext and get the cash drawer
- to give him/her $50 from your account. There are encryption
- systems which avoid this difficulty.
-
- Another general form of attack often not considered by
- newcomers is comparing multiple messages using the same key.
- It is impractical to use a different key for each cipher
- text (with one important exception called the 'one time
- pad'). Therefore, an opponent will have several different
- texts encrypted in the same key and may be able to exploit
- this fact. All transpositions algorithms (those which merely
- scramble the order of the bytes) are vulnerable to this
- attack. More sophisticated systems are also vulnerable to this
- attack in some cases as well.
-
- This is a vast area and one of the things that is difficult,
- even for experienced designers, is anticipation of all possible
- attacks. Moreover, there is no obligation on the attacker's
- part to be less mathematically sophisticated than the designer.
- A system that survives the attacks the designer invents may
- fall easily to a mathematical approach the designer of the
- system is unfamiliar with.
-
- And, one even has to worry about items like a rare bug in the
- program that injects the cipher key rather than the cipher text
- into the output stream. It is amazing how often trifling
- errors in the implementation make theory irrelevant.
-
- Q6: What does make a system 'good'?
-
- What makes a system 'good' relies on many details specific to
- a given situation. Only after a lot of ingenious attacks are
- tried can a system be released for use. There never can be any
- absolute guarantees. All that can be said is that it defeated
- the best experts available. The opponent may be smarter.
-
- However, there are some agreed-to minimums that a good system
- must have to even be worth serious analysis --
-
- 1) It must be suitable for computer use. Ordinary byte streams
- (as arbitrary as possible) would be the input "plain"
- text and byte streams would be the output "cipher" text.
- There should be few cases where some kinds of input text
- produces poor results and these, if they exist, should be
- easily known, described, and avoided.
-
- 2) To be cost-competitive, it must produce about the same number of
- output cipher bytes as input plain bytes. Relaxing this restriction
- is not as helpful as one might think; the best historical systems
- meet this restriction, so a new system must meet it also.
-
- 3) Output bytes should have a complex relationship between the key,
- the plain text being encrypted, and possibly some amount of
- text previously encrypted. "Simple", general methods, such
- as creation/construction of minterm sums and matrix inversions should
- not produce the cipher key or an equivalent, usable illicit
- decryption method.
-
- 4) Trying all keys must not be practical. Trying a cleverly ordered
- subset of the keys must not work. This is hard to achieve; it means
- that the failure of a particular key X to illicitly decrypt must
- not also allow an opponent to conclude that some large class of keys
- "similar" to X need not be tried.
-
- All keys must be equally strong; any exceptions must be well
- known, few in number, and easily avoided.
-
- 5) Assume all details about the encryption algorithm are known.
- Relying on a secret method has failed repeatedly. It is prudent to
- assume only the variable part of the system, called the cipher key,
- that is selected by the customer, is unknown.
-
- 6) Classical attacks must be tried in great variety and ingenuity.
- Details of this are beyond the scope of this file. For a summary
- of the principal attacks, see Question 5, "What are the principal
- cryptanalytic attacks?". It is easy to do this particular step
- incompletely. Remember, there may be little effective limit to the
- resources or the brain power of one's opponent. The data may be
- very valuable and it make take only a couple of days rental of the
- right kind of consultant and a supercomputer to get the job
- done. The legitimate user will, by contrast, have a smaller
- budget that is begrudged as "overhead".
-
- 7) Performance must be competitive with existing solutions. A
- practical problem is that every moment spent encrypting is
- regarded as "overhead". Therefore, the method must not be
- uncompetitive with existing algorithms regarded as secure.
-
- Inventing one's own system is an interesting pastime and quite
- educational. However, any hope of really securing data requires, at
- the very minimum, mastery of illicit decipherment. It is very easy
- to scramble data impressively and please oneself. This is not
- the same as keeping it actually secure.
-
- Q7: OK, you guys seem to know a lot about this stuff. I
- think I have a neat system. Here's a message I encrypted.
- Tell me if the system is any good. Oh, and can I keep my
- algorithm secret? I think I want to patent it, so Q5 does not
- apply in my case.
-
- Most people read and understand questions 5 and 6 and their
- implications. But, a few individuals, because of what they
- invented, believe they have an exception of some kind. If that
- is you, you're setting yourself up for disappointment. Even if
- you are stone cold right about what you have invented, you are
- not going about proving it properly. The main issue is a
- mindset issue. Analyzing a cipher is not like a proposition
- in geometry or the denouement of a mystery novel. One's
- intuition about proofs may not hold for cryptography.
-
- Finding out if a cipher is any good is perhaps most like
- debugging a program. Just as you can never be sure you got all
- of the bugs out, you can never be sure you have a cipher that
- will withstand all attacks an opponent might come up with.
-
- So, even if you do publish some form of challenge, and even if
- the posters of sci.crypt attack it vigorously, it may prove
- nothing.
-
- Second, you may not be in a position to form a good, sound
- test. Beginners who get this far are peeved that they are
- asked to reveal their encryption algorithm. They may also be
- asked to reveal whole paragraphs of cipher text or to encrypt
- certain texts in a secret key and give the answer back. All
- these things seem like cheating. The answer is: real opponents
- _do_ cheat. Unlike those who post here, they are not above
- burglarizing your home to get a copy of your source code, if
- that is cheaper than hiring experts by the hour, to give a
- relevant example. Whatever we ask for will represent a close
- analogy of a real-world attack.
-
- If you are still convinced you have a good system, by all means
- go out and try to patent it; you are not legally obliged to
- ask our help, after all. But history is against you; against
- you so much that you will find few people here that are willing
- to trust your definition of a good test of a cipher.
-
- There is no 'royal road' to cryptography. The best thing to do
- is take a couple of months and seriously study crytanalysis.
-
- Q8: What are the legal restrictions on cryptography?
-
- You'd have to ask a lawyer. Most governments consider cryptography a
- sensitive topic for one reason or another. There are a variety
- of restrictions possible.
-
- Most governments don't give their reasons publicly, so one
- may not know why there are restrictions, just that there are
- restrictions to follow.
-
- One can expect to find laws about sending encrypted data over national
- borders and may often expect to find laws about the import and
- export of encryption systems.
-
- Since sending data over Internet, BitNet, Usenet, Fidonet, etc.
- may cross national borders (even if the originator does not
- realize it), a basic familiarity with these laws is recommended
- before sending out encryption systems or encrypted data.
-
- Q9: What is a public key system?
-
- A public key system is an encryption method with a unique
- property -- encryption and decryption use different keys and
- one of those keys can be published freely.
-
- Being able to pass around the 'decrypt' key part of one's
- encryption algorithm allows some very interesting things to
- happen. For one thing, messages can be exchanged by people who
- had not planned on doing so in advance. One merely encrypts in
- one's private key, decrypts using the receiver's public key and
- passes on the result to the receiver. The receiver encrypts in
- his/her own private key, then decrypts using the sender's public
- key, recovering the message.
-
- Q10: What is key distribution?
-
- Key distribution is the practical problem of exchanging keys
- between the parties that wish to set up an encryption system
- between the two of them. Especially in a network environment,
- passing keys one can trust back and forth, can be difficult.
- How can one be sure a cipher key was not sent by an impostor?
- Unless the keys are exchanged in a secret, secure place,
- face-to-face, getting keys securely exchanged and with
- knowledge of the fact that the key was sent authentically can
- be difficult. Yet, any practical system must permit reasonably
- convenient, but very secure exchange of cipher keys.
-
- Once a few special keys are securely exchanged, it may be
- possible to send new cipher keys in encrypted form between the
- sender and receiver that have a known lifetime. That is, the
- cipher key is sent in a special encrypted message using a
- special key used only for exchanging keys. In
- telecommunications environments, this allows frequent change of
- keys between the parties 'safely' over the same insecure medium
- used to send the cipher text. While this idea is at the heart
- of much commercial use of cryptography, it is not easily
- accomplished and less easily summarized.
-
- Q11: What is the 'one time pad'?
-
- The 'one time pad' is an encryption method that is known to be
- absolutely, provably secure. How it works is as follows --
- 1. Generate a huge number of bits using a naturally random
- process. 2. Both sides exchange this data, which is as much
- data as they are going to exchange later on. 3. Exclusive OR the
- original text, bit by bit, with the 'one time pad' data, never
- reusing the 'one time pad' data. 4. Have elaborate rules to
- keep the two sides in synch so that the data can be recovered
- reliably by the receiver. (Both sides must know where they are
- in terms of how much 'one time pad' has been consumed).
-
- Note that only genuine, naturally random processes will do. There
- must be no relationship between any prior bit of the 'one time pad'
- and a future bit of the key. "Random number generators", in
- particular, may not substitute and still be a 'one time pad'. The
- reason the one time pad works is precisely because there is no
- relationship between any bits of the key stream. All cipher
- keys are equally probable. All original data messages are
- equally probable. There is no 'hat' to hang analysis upon.
- Even if one can inject as much text into a one time pad as one
- wishes, recovering the key stream tells nothing about the next
- message.
-
- Unfortunately, one time pads are very ungainly, so they are not
- typically used. The requirement to have a genuinely random process,
- with the right kind of statistical probability, is not easy to
- to set up. The ability to exchange vast amounts of data,
- securely, in advance, is not easy to achieve in environments
- when encryption is needed in the first place.
-
- There are a variety of cipher systems which generate "pseudo
- one time pad" streams of cipher key, but all have the same
- theoretical vulnerability; any algorithmic process introduces
- relationships between some old key bit(s) and the new key bit
- and so permits cryptanalysis. "Random number generators" are
- frequently dreamed up by newcomers as a "pseudo one time pad",
- but they are notoriously vulnerable to analysis, all
- independent of whether the pseudo-random stream satisfies
- randomness tests or not.
-
- The favorite example is a "standard" pseudo-random number
- generator of the form x = ((A*x) +C) mod M where A, C, and M
- are fixed and x is the most recent value used to form the last
- "random" number. Thus, the key of the cipher is the initial
- value of x. Let's set M equal to two to the 32nd for this example.
-
- Now, if one can predict or simply find the word
- "the " (the word "the" followed by a space character) on a
- even four byte boundary in the file, one can recover an old
- value of "x" and predict the rest of the keystream from that
- point, which may be enough of a "break" to accomplish the
- purpose. This is true even if the particular A, C, and M
- perfectly satisfy any randomness test that anyone ever devised.
-
- Naturally, this example can be improved upon, but it
- illustrates the potential problem all such methods have.
-
- Q12: What is the NSA (National Security Agency)?
-
- The NSA has several tasks. The most relevant here is that it employs
- the United States' government's cryptographers. Most nations have some
- department that handles cryptography for it, but the US' NSA tends to
- draw the most attention. It is considered equal to or superior to any
- such department in the world. It keeps an extremely low public
- profile, and has a "large", but secret budget. Because of these and
- other factors, there will be many posts speculating about the
- activities and motives of the NSA.
-
- Q13: What is the American Cryptogram Association?
-
- American Cryptogram Association Information, Sept 1992
-
- The American Cryptogram Association is an international group
- of individuals who study cryptography together and publish
- puzzle ciphers to challenge each other and get practical
- experience in solving ciphers. It is a nonprofit group.
-
- The American Cryptogram Association (ACA) publishes the
- bi-monthly magazine, "The Cryptogram", which contains
- a wide variety of simple substitution ciphers ("cryptograms")
- in English and other languages as well as cryptograms
- using cipher systems of historical interest (such as Playfair).
-
- The level of difficulty varies from easy to difficult. Except
- for "foreign language" cryptograms, all text is in English.
-
- The magazine also features "how to" articles at the hobbyist level
- and other features of interest to members. A "Computer Supplement"
- is also available which features articles on computerizing various
- phases of cryptogram solving; the level of the articles varies from
- simple programming examples to automatic algorithmic solutions of
- various cipher systems. The supplement is available as a separate
- subscription, and is published when material permits; usually two
- or three times per year.
-
- Where to write for subscription or other information --
-
- ACA Treasurer
- 18789 West Hickory St
- Mundelein IL 60060
-
- Q14: What are some good books on cryptography?
-
- Good books on this topic that weren't government classified used
- to be rare. There are now a host of good books. One informal
- test of a library's quality is how many of these are on the
- shelves. These are widely available, but few libraries have
- them all.
-
- David Kahn, The Codebreakers, Macmillan, 1967 [history; excellent]
- H. F. Gaines, Cryptanalysis, Dover, 1956 [originally 1939, as
- Elementary Cryptanalysis]
- Abraham Sinkov, Elementary Cryptanalysis, Math. Assoc. of Amer.,
- 1966
- D Denning, Cryptography and Data Security, Addison-Wesley, 1983
- Alan G. Konheim, Cryptography: A Primer, Wiley-Interscience, 1981
- Meyer and Matyas, Cryptography: A New Dimension in Computer Data
- Security, John Wiley & Sons, 1982.
- Books can be ordered from Aegan Park Press. They are not inexpensive,
- but they are also the only known public source for most of these
- and other books of historical and analytical interest.
- From the Aegean Park Press P.O. Box 2837, Laguna
- Hills, CA 92654-0837
- [write for current catalog].
-
- The following is a quality, scholarly journal. Libraries may carry
- it if they are into high technology or computer science.
-
- Cryptologia: a cryptology journal, quarterly since Jan 1977.
- Cryptologia; Rose-Hulman Institute of Technology; Terre Haute
- Indiana 47803 [general: systems, analysis, history, ...]
-
- Thanks to
- cme@ellisun.sw.stratus.com (Carl Ellison)
- Gwyn@BRL.MIL (Doug Gwyn)
- smb@ulysses.att.com (Steven Bellovin)
- for assembling this list of books in bibliography form. I knew
- of each here, but getting all the details is a lot of work.
- Thanks again.
- ------------------------]
- Larry W. Loen | My Opinions are decidedly my own,so please
- | do not attribute them to my employer
- ------------------------]
- =====================================================================
- EFFector Online is published by
- The Electronic Frontier Foundation
- 155 Second Street, Cambridge MA 02141
- Phone: +1 617 864 0665 FAX: +1 617 864 0866
- Internet Address: eff@eff.org
- Reproduction of this publication in electronic media is encouraged.
- Signed articles do not necessarily represent the view of the EFF.
- To reproduce signed articles individually, please contact the authors
- for their express permission. EFFector Online is edited by Gerard
- Van der Leun (van@eff.org) and Rita Rouvalis (rita@eff.org).
- =====================================================================
-